﻿#define _CRT_SECURE_NO_WARNINGS 1

////不创建临时变量交换数值
//#include<stdio.h>
//
//int main()
//{
//	int a = 10;
//	int b = 5;
//
//	a = a | b;
//	b = a ^ b;
//	a = a ^ b;
//
//	printf("%d %d", a, b);
//
//	return 0;
//}

////统计二进制中的1的个数
//
//#include<stdio.h>
//
//int count_(int a)
//{
//	int num = 0;
//	while (a != 0)
//	{
//		num++;
//		a = a & (a - 1);
//	}
//	return num;
//}
//
//int main()
//{
//	int a = 0;
//	scanf("%d", &a);
//	int b = count_(a);
//	printf("%d", b);
//
//	return 0;
//}

//求俩个数二进制中不同位的个数
#include<stdio.h>

int count(int a)
{
	int num = 0;
	while (a != 0)
	{
		num++;
		a = a & (a - 1);
	}

	return num;
}

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int c = count(a ^ b);
	printf("%d", c);

	return 0;
}